settings: add a gtk-recent-files-enabled GtkSetting
authorCosimo Cecchi <cosimoc@gnome.org>
Wed, 13 Feb 2013 16:05:07 +0000 (11:05 -0500)
committerCosimo Cecchi <cosimoc@gnome.org>
Wed, 13 Feb 2013 17:06:43 +0000 (12:06 -0500)
Backed by an XSetting, so g-s-d can set it according to the GSettings
value.

https://bugzilla.gnome.org/show_bug.cgi?id=693724

gdk/x11/gdksettings.c
gtk/gtksettings.c

index 943e84b6992eaa3f37b169fc44f601a6dec0f03c..e2fdcf24d77050b2a3b8baa5523871c4cd2f730b 100644 (file)
@@ -75,7 +75,8 @@ static const struct {
   {"Gtk/ShellShowsAppMenu",   "gtk-shell-shows-app-menu"},
   {"Gtk/ShellShowsMenubar",   "gtk-shell-shows-menubar"},
   {"Gtk/EnablePrimaryPaste",  "gtk-enable-primary-paste"},
-  {"Gtk/RecentFilesMaxAge",   "gtk-recent-files-max-age"}
+  {"Gtk/RecentFilesMaxAge",   "gtk-recent-files-max-age"},
+  {"Gtk/RecentFilesEnabled",  "gtk-recent-files-enabled"}
 };
 
 static const char *
index 0fc7dd0de948d625b2b64a850bbc35195e78515f..3c9036c434830ae067631f653bee701a5a50d175 100644 (file)
@@ -211,7 +211,8 @@ enum {
   PROP_IM_STATUS_STYLE,
   PROP_SHELL_SHOWS_APP_MENU,
   PROP_SHELL_SHOWS_MENUBAR,
-  PROP_ENABLE_PRIMARY_PASTE
+  PROP_ENABLE_PRIMARY_PASTE,
+  PROP_RECENT_FILES_ENABLED
 };
 
 /* --- prototypes --- */
@@ -1406,6 +1407,23 @@ gtk_settings_class_init (GtkSettingsClass *class)
                                              NULL);
   g_assert (result == PROP_ENABLE_PRIMARY_PASTE);
 
+  /**
+   * GtkSettings:gtk-recent-files-enabled:
+   *
+   * Whether GTK+ should keep track of items inside the recently used
+   * resources list. If set to %FALSE, the list will always be empty.
+   *
+   * Since: 3.8
+   */
+  result = settings_install_property_parser (class,
+                                             g_param_spec_boolean ("gtk-recent-files-enabled",
+                                                                   P_("Recent Files Enabled"),
+                                                                   P_("Whether GTK+ remembers recent files"),
+                                                                   TRUE,
+                                                                   GTK_PARAM_READWRITE),
+                                             NULL);
+  g_assert (result == PROP_RECENT_FILES_ENABLED);
+
   g_type_class_add_private (class, sizeof (GtkSettingsPrivate));
 }